File manager - Edit - /home/autoph/public_html/projects/app/Http/Controllers/API/v1/AttendanceRequestStatusController.php
Back
<?php namespace App\Http\Controllers\API\v1; use App\Http\Controllers\Controller; use App\Models\EmployeeChangeSchedule; use App\Models\EmployeeLeave; use App\Models\EmployeeMonthlySchedule; use App\Models\EmployeeOb; use App\Models\EmployeeOffset; use App\Models\EmployeeOffsetEarning; use App\Models\EmployeeOvertime; use App\Models\EmployeeTimeAdjustment; use App\Models\EmployeeUndertime; use App\Models\EmployeeWfh; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; class AttendanceRequestStatusController extends Controller { public function index() { $user = Auth::user(); $employeeId = $user->employees->employee_id; $data = [ 'leave' => $this->getStatusCounts(EmployeeLeave::class, $employeeId), 'monthly_schedule' => $this->getStatusCounts(EmployeeMonthlySchedule::class, $employeeId), 'time_adjustment' => $this->getStatusCounts(EmployeeTimeAdjustment::class, $employeeId), 'overtime' => $this->getStatusCounts(EmployeeOvertime::class, $employeeId), 'undertime' => $this->getStatusCounts(EmployeeUndertime::class, $employeeId), 'wfh' => $this->getStatusCounts(EmployeeWfh::class, $employeeId), 'change_schedule' => $this->getStatusCounts(EmployeeChangeSchedule::class, $employeeId), 'ob' => $this->getStatusCounts(EmployeeOb::class, $employeeId), 'offset_earning' => $this->getStatusCounts(EmployeeOffsetEarning::class, $employeeId), 'offset_availment' => $this->getStatusCounts(EmployeeOffset::class, $employeeId), ]; return response()->json($data); } private function getStatusCounts($model, $employeeId) { return $model::where(function ($query) use ($employeeId) { $query->where('recommending_id', $employeeId) ->orWhere('approver_id', $employeeId); }) ->where('enabled', 1) ->selectRaw(' COUNT(CASE WHEN status = 0 THEN 1 END) AS pending, COUNT(CASE WHEN status = 1 THEN 1 END) AS for_approval, COUNT(CASE WHEN status = 2 THEN 1 END) AS approved, COUNT(CASE WHEN status = 99 THEN 1 END) AS denied ') ->first() ->toArray(); } } ?>
| ver. 1.4 |
.
| PHP 8.1.32 | Generation time: 0 |
proxy
|
phpinfo
|
Settings